home *** CD-ROM | disk | FTP | other *** search
/ New Star Software Collection / NSS_Collection.iso / 3-069 qemm 603 / 1.ima / DVMAN / CH6.DEV < prev    next >
Encoding:
Text File  |  1991-10-08  |  30.3 KB  |  806 lines

  1. Chapter 6 
  2.  
  3. Advanced Mark and Transfer
  4.  
  5.  DESQview's basic mark and transfer feature lets you mark a block
  6. of information and transfer it to another program, or to another
  7. point in the same program. See pages 58-59 of Chapter 3, Using
  8. DESQview, for a discussion of the basic mark and transfer
  9. process. When you mark multiple lines of information, you can
  10. specify a number of powerful advanced operations that affect mark
  11. and transfer:
  12.  
  13. ~Item~ You can mark and transfer disjoint blocks of information,
  14. that is,  mark contiguous information as separate pieces, or
  15. "lines." (See The Concept of Marked Lines, on the next page.) You
  16. can do this so the lines may be  handled specially when
  17. transferred, for instance, to reformat them. 
  18.  
  19. ~Item~ You can mark non-contiguous information from different
  20. snapshots (from the same or several different DESQview windows)
  21. which may be gathered together, as disjoint information, into the
  22. transfer buffer. Once combined, the disjoint information can be
  23. tranferred to another program in a single step.
  24.  
  25. ~Item~ You can mark and transfer repeating patterns of
  26. information ~dash~ for example, records in a database or rows and
  27. columns in a spreadsheet.
  28.  
  29. ~Item~ You can use DESQview's Learn feature with mark and
  30. transfer to create scripts (keystroke macros) that transfer
  31. information from one program to another, processing the
  32. information as you transfer.
  33.  
  34. ~Item~ You can use the Scissors command to transfer information
  35. between programs written expressly for DESQview ~dash~ if both
  36. the source and destination programs support the Scissors
  37. capability.
  38.  
  39. This chapter explains how to use these advanced features by
  40. walking you through two examples:
  41.  
  42. ~Item~ The first example describes how you would mark and
  43. transfer disjoint blocks of information by transferring
  44. information from a database (dBASE III Plus) to a word processor
  45. (WordPerfect) in "mailing label" format.
  46.  
  47. ~Item~ The second example describes how you would mark and
  48. transfer rows and columns of information by transferring
  49. information downloaded from a mainframe with a communications
  50. program to a spreadsheet program (Lotus 1-2-3 Release 2).
  51.  
  52.  This chapter is for advanced users. You should familiarize
  53. yourself with the basic mark and transfer process on pages 58-59
  54. and Chapter 5, Learn: DESQview's Keystroke Macro Feature, before
  55. reading this chapter.
  56.  
  57. ~Heading~ Transferring Disjoint Blocks of Information
  58.  
  59.  The basic mark and transfer process (that you learned about in
  60. Chapters 2 and 3) described the steps to mark and transfer a
  61. single block of information:
  62.  
  63. ~Item~ Mark the block of information, using Mark Begin and DONE.
  64.  
  65. ~Item~ Switch to the program where you want to transfer the
  66. information, put the cursor at the transfer point, and select
  67. Transfer.
  68.  
  69. ~Item~ Press <Enter> to transfer the block of information you
  70. marked into the program in the same format ~dash~ namely, as
  71. multiple lines of text.
  72.  
  73. In addition, DESQview gives you the following advanced
  74. capabilities:
  75.  
  76. ~Item~ You can mark more than one block of information to be
  77. transferred within a single screen snapshot.
  78.  
  79. ~Item~ You can mark blocks in different snapshots and combine
  80. them into a single transfer operation.
  81.  
  82. ~Item~ You can mark a set of disjoint blocks and then repeat the
  83. same sequence of steps to mark additional blocks with the same
  84. pattern. For example, after you've marked columns 2, 4, and 6 in
  85. row 4 of a spreadsheet, you could tell DESQview ~dash~ with a
  86. keystroke macro ~dash~ to repeat this marking pattern on rows 5
  87. through 15.
  88.  
  89. ~Item~ You can type a specific key sequence at the beginning of
  90. each line you transfer ~dash~ in addition to the key sequence you
  91. type at the end of each line.
  92.  
  93. ~Item~ You can specify a different keystroke before/keystroke
  94. after sequence between marked blocks, rather than using the same
  95. sequence for each block.
  96.  
  97. ~Item~ You can transfer the same marked information more than
  98. once. For example, after marking fields in a database, you could
  99. transfer the information to a spreadsheet program and then to a
  100. word processing program. Information stays in the transfer buffer
  101. until you exit mark mode, then start another mark operation.
  102.  
  103. ~Subhead~ Disjoint Blocks: Defining theProblem
  104.  
  105.  The best way to understand DESQview's advanced capabilities is
  106. to walk through an example. The example we'll use is building a
  107. set of mailing address labels from a database of names and
  108. addresses. We'll use a sample database called NAMES and we'll
  109. construct the mailing labels in WordPerfect.
  110.  
  111. The NAMES database consists of 10 records, as follows:
  112.  
  113. Begin Table
  114.  
  115.  FIRST NAME, LAST NAME, ADDRESS, CITY, STATE, ZIP CODE
  116.  
  117.  Luann, Neuhoff, 8653 Rita Drive, Bloomington, IN, 47401
  118.  
  119.  Claire, Buckman, 8307 Santa Anita Blvd, Oxnard, CA, 93034
  120.  
  121.  Hank, Bicksby, 4101 Peonia Rd, Flagstaff, AZ, 86001
  122.  
  123.  Lena, Garnett, 520 S. 8th St., Reno, NV, 89504
  124.  
  125.  Lisa, Kafmanan, 1960 Lindley Avenue, Reseda, CA, 91355
  126.  
  127.  Jay, Johnson, 14234 Riverside Dr., Riverside, CA, 92504
  128.  
  129.  Sara, Collins, 303 W. Milford St., Portland, OR, 97215
  130.  
  131.  Rick, Zambini, 108 Prairie, Woodland Hills, CA, 91364
  132.  
  133.  Kim, Arlich, 10564 Ventura Blvd., Long Beach, CA, 90806
  134.  
  135.  John, Montovan, 1034 Lorraine St., Culver City, CA, 90230
  136.  
  137.  Vicky, Gorman, 203 E. 3rd St. S., Mesa, AZ, 85201
  138.  
  139. ~End Table~ 
  140.  
  141. The format of a mailing address label is:
  142.  
  143.      Luann Neuhoff  
  144.      8653 Rita Drive     
  145.      Bloomington, IN 47401
  146.  
  147. ~Subhead~ Disjoint Blocks: Defining the Steps
  148.  
  149.  For this example, we'll assume that you've started dBASE III
  150. Plus running in window 1 and issued the command USE NAMES. Also
  151. we'll assume that you've started WordPerfect running in window 2
  152. and that it's ready to receive information.
  153.  
  154. Overall, the way we want the database-to-mailing-label procedure
  155. to work is this:
  156.  
  157. ~Item~ First, use the EDIT n command in dBASE III Plus to display
  158. the first record you want to transfer.
  159.  
  160. ~Item~ Second, tell DESQview to mark the record and transfer it
  161. into the format of a mailing label in the WordPerfect window.
  162.  
  163.  Third, switch back to the dBASE III Plus window so you can
  164. display the next record to transfer.
  165.  
  166. To perform this procedure, we'll use DESQview's advanced mark and
  167. transfer features in combination with DESQview's Learn command.
  168. The basic steps are:
  169.  
  170. ~Item~ Starting with dBASE III Plus as the current window, use
  171. the EDIT n command to display the first record you want to
  172. transfer.
  173.  
  174. ~Item~ Perform DESQview's Start Script command to start learning
  175. a script.
  176.  
  177. ~Item~ Use DESQview's Mark command to mark the 6 fields in the
  178. database in the order you want them to appear in the address
  179. label: FIRSTNAME, LASTNAME, ADDRESS, CITY, STATE, ZIPCODE.
  180.  
  181. ~Item~ Switch to WordPerfect and use DESQview's Transfer command
  182. to transfer the 6 fields into WordPerfect in the format of an
  183. address label.
  184.  
  185. ~Item~ Switch back to dBASE III Plus
  186.  
  187. ~Item~ End the Learn.
  188.  
  189. Now, you have a script that performs the desired transfer and
  190. reformatting of information. To transfer another record:
  191.  
  192. ~Item~ Use the PgUp and PgDn keys ~dash~ or whichever dBASE III
  193. Plus commands you prefer ~dash~ to display the next record you
  194. want to transfer.
  195.  
  196. ~Item~ Perform the script.
  197.  
  198. Repeat these two steps until all the records you want are
  199. transferred.  
  200.  
  201. ~Subhead~ Disjoint Blocks: Marking the Blocks
  202.  
  203.  To begin, open a dBASE III Plus window and display record 1 of
  204. the NAMES database. Then open a WordPerfect window and switch
  205. back to dBASE III Plus.
  206.  
  207. ~Step~ Open dBASE III Plus as window 1. Then enter the "USE
  208. NAMES" command, followed by the "EDIT 1" command.
  209.  
  210. ~Step~ Open WordPerfect as window 2. Then switch back to window 1.
  211.  
  212. Now, start learning a script which will be assigned to the Alt-A
  213. key:
  214.  
  215. ~Step~ Display the Learn menu (Shift-DESQ) and select Start
  216. Script. Then press the Alt-A key, type Address Label for the
  217. script name, and press <Enter>.
  218.  
  219. Now mark the 6 fields:
  220.  
  221. ~Step~ Display the Mark menu.
  222.  
  223. ~Step~ Move the cursor to the FIRSTNAME field and mark it ~dash~
  224. but end the Mark by selecting Mark End rather than DONE. Be sure
  225. that you mark all 10 characters of the field, not just the name
  226. "Luann."
  227.  
  228.  When you select Mark End, the Mark menu remains on the screen
  229. and "mark mode" remains in effect so you can mark more blocks.
  230. You need to mark the entire field, not just "Luann," because
  231. you're going to repeat this marking step on other FIRSTNAME
  232. fields, some of which are longer than "Luann."
  233.  
  234. ~Step~ Mark the remaining 5 fields in the order: LASTNAME,
  235. ADDRESS, CITY, STATE, ZIPCODE ~dash~ again, to be sure to end
  236. each Mark by using Mark End rather than DONE and to mark the
  237. entire field.
  238.  
  239. Now that all 6 fields are marked and remembered by DESQview,
  240. you're ready to transfer this information into WordPerfect.
  241.  
  242. ~Subhead~ Disjoint Blocks: Transferring the Blocks
  243.  
  244.  To transfer the information to WordPerfect:
  245.  
  246. ~Step~ Switch to window 2 and display the Transfer menu.
  247.  
  248. ~Step~ Select "Transfer the first line."
  249.  
  250. Now you must indicate the key (or keys) you want typed between
  251. the first field (FIRSTNAME) and the second field (LASTNAME):
  252.  
  253. ~Step~ Type a space. Then tap the DESQ key to indicate that
  254. you've entered all the keystrokes (in this case, just one, the
  255. spacebar character) you want between the two fields.
  256.  
  257.  A space appears after "Luann" and the Transfer menu reappears. 
  258. Notice that DESQview has deleted the "trailing blanks" ~dash~
  259. that is, the blanks at the end of the field.
  260.  
  261. Next transfer the 5 remaining fields in the following sequence,
  262. with the following intervening keystrokes:
  263.  
  264. ~Step~ Select "Transfer the next line," type the appropriate key
  265. or keys (as shown below), and tap the DESQ key.
  266.  
  267. ~Begin Table~ 
  268.  
  269.  after, LASTNAME, type, <Enter>
  270.  after, ADDRESS, type, <Enter>
  271.  after, CITY, type, a comma and one space
  272.  after, STATE, type, two spaces
  273.  after, ZIPCODE, type, two <Enter>
  274.  
  275. ~End Table~ 
  276.  
  277. Finally, switch back to dBASE III Plus and end the Learn:
  278.  
  279. ~Step~ Switch to window 1, display the Learn menu (Shift-DESQ),
  280. and select Finish Script.
  281.  
  282. ~Subhead~ Disjoint Blocks: Transferring More records using a
  283. script
  284.  
  285.  To transfer additional records:
  286.  
  287. ~Step~ Use the PgDn or PgUp key to display the next record you
  288. want to transfer.
  289.  
  290. ~Step~ Press Alt-A
  291.  
  292. ~Step~ Repeat these steps until all the records you want are
  293. transferred.
  294.  
  295. ~Heading~ Transferring Rows and Columns
  296.  
  297.  The discussion on the preceding several pages, Transferring
  298. Disjoint Blocks of Information, examines the case of marking and
  299. transferring disjoint blocks of information. Another frequent use
  300. of mark and transfer is to transfer rows and columns of
  301. information into a spreadsheet program.
  302.  
  303. ~Subhead~ Rows and Columns: Defining the Problem
  304.  
  305.  The best way to understand how to transfer rows and columns is
  306. to walk through an example. The example we'll use is having a
  307. communications program download and capture some revenue
  308. information from your mainframe and then transfer it into Lotus
  309. 1-2-3 Release 2.  Since we don't have a mainframe handy, let's
  310. assume that your mainframe produces a table in the format shown
  311. below ~dash~ namely, the information in Sample Spreadsheet.
  312.  
  313. ~Begin Table~ 
  314.  
  315.                     Jan      Feb       Mar      Apr      May     Jun  
  316. ASSETS
  317. Accts Receivable, $1,000.0  $1,050.0  $1,102.5 $1,157.6   $1,215.5  $1,276.2
  318.    Cash              300.0     500.0     525.0    551.2      578.8     607.7
  319.    Unsold Goods      250.0     262.5      65.6    289.4      303.8     319.0
  320.    TOTAL ASSETS   $1,550.0  $1,812.5   $1,693.1 $1,998.2  $2,098.1  $2,202.9  
  321. LIABILITIES
  322. Accts Payable     $1,000.0   $ 916.6  $  840.2  $  770.2  $  706.0  $  647.2
  323.  Storage Costs        50.0      50.0      50.0      50.0      50.0      50.0
  324.  Labor                100.0    105.0     110.2     115.7     121.5     127.6
  325.  Materials             50.0     52.5      55.1      57.8      60.7      63.8
  326.  TOTAL LIABILITIES $1,200.0 $1,124.1  $1,055.5   $ 993.7   $ 938.2   $ 888.6
  327.  
  328. NIBT           $  350.0 $  688.4  $  637.6    $1,004.5 $1,159.9  $1,314.3
  329.  Dep. Allowance          100.0    100.0     100.0       100.0     100.0    100.0
  330.  Taxable Income       250.0    588.4     537.6     904.5   1,059.9   1,214.3
  331.  Taxes(@30%)           75.0    176.5     161.3     271.4     318.0     364.3
  332.  
  333. NET INCOME         $  275.0 $  511.9  $  476.3  $  733.2  $  841.9 $   950.0
  334.  
  335. ~End Table~ 
  336.  
  337. Let's also assume that 1-2-3 is set up in the format show below:
  338.  
  339. For this example, we'll assume that you've started Sample
  340. Spreadsheet running in window 1 and Lotus 1-2-3 Release 2 in
  341. window 2.  Overall, the way we want the table-to-spreadsheet
  342. procedure to work is this:
  343.  
  344. ~Item~ First mark the top-most line of information in the table
  345. (skipping the months and the ASSETS line), recording the
  346. keystrokes you enter as a script.
  347.  
  348. ~Item~ Second, use this script to mark the remaining lines in the
  349. table.
  350.  
  351. ~Item~ Third, switch to 1-2-3, enter the header information in
  352. columns A-G of lines 1-3, and then transfer the table all at once
  353. into 1-2-3.
  354.  
  355. To perform this procedure, we'll use DESQview's advanced mark and
  356. transfer features in combination with DESQview's Learn command.
  357. The basic steps are:
  358.  
  359. ~Item~ Starting with Sample Spreadsheet as the current window,
  360. display the Mark menu.
  361.  
  362. ~Item~ Skipping the months row, position the cursor at the
  363. beginning of the "Accts Receivable" row ~dash~ 1 row under the A
  364. in ASSETS. Then start a Learn.
  365.  
  366. ~Item~ First, mark the label itself ~dash~ "Accts Receivable."
  367. Then mark each of the 6 columns of numbers in turn.
  368.  
  369. ~Item~ Position the cursor at the beginning of the "Cash" line.
  370. (Be sure to use the arrow keys, not <Enter>, to move the cursor
  371. to the beginning of the next line.  Remember, pressing <Enter>
  372. ends the Mark command.)
  373.  
  374. ~Item~ End the Learn.
  375.  
  376. ~Item~ Use the script you just created to mark the remaining 17
  377. lines (including the 3 blank lines).
  378.  
  379. ~Item~ Switch to Lotus 1-2-3 Release 2, type in the header
  380. information in columns A-G of rows 1-3, and then position the
  381. spreadsheet cursor at A4.
  382.  
  383. ~Item~ Tell DESQview to transfer the first marked line ~dash~
  384. "Accts Receivable" ~dash~ as text (using the Transfer the first
  385. line command).  Then type a right arrow.
  386.  
  387. ~Item~ Next, tell DESQview to transfer the next 6 blocks as
  388. numbers.  Separate all but the last block by a right arrow. After
  389. the last block, put 6 left arrows and a down arrow to move the
  390. cursor to A5, the beginning of the next row.
  391.  
  392. ~Item~ Use Transfer the rest of your data to transfer the
  393. remaining 17 rows.
  394.  
  395. ~Subhead~ Rows and Columns: Defining the Blocks
  396.  
  397.  To begin, open a Sample Spreadsheet window:
  398.  
  399. ~Step~ Open Sample Spreadsheet as window 1.
  400.  
  401. ~Step~ Display the Mark menu.
  402.  
  403. ~Step~ Position the cursor at the beginning of the "Accts
  404. Receivable" row ~dash~ under the "A" of "ASSETS".
  405.  
  406. Now, start learning a script which will be assigned to the Alt-M
  407. key:
  408.  
  409. ~Step~ Display the Learn menu (Shift-DESQ) and select Start
  410. Script.  Then press the Alt-M key, type Mark Line for the script
  411. name, and press <Enter>.
  412.  
  413. Next, mark the label field:
  414.  
  415. ~Step~ Mark the "Accts Receivable" entry ~dash~ but end the Mark
  416. by selecting Mark End rather than DONE. Be sure to mark all 20
  417. characters, through the column just before the dollar sign ($).
  418.  
  419.  When you select Mark End, the Mark menu remains on the screen
  420. and "mark mode" remains in effect so you can mark more blocks.
  421. You need to mark the entire label field, not just "Accts
  422. Receivable", because you're going to repeat this marking step on
  423. other entries, some of which are longer than "Accts Receivable".
  424.  
  425. ~Step~ Mark the number "$1,000.0", starting in the dollar sign
  426. and extending through the ".0" of "$1,000.0" ~dash~ 8 characters.
  427.  
  428. ~Step~ Mark the remaining 5 numbers (Feb-Jun) in the same way, as
  429. 8- column wide entries.
  430.  
  431. ~Step~ Position the cursor at the beginning of the "Cash" line.
  432. Use the arrow keys to move the cursor, not the <Enter> key.
  433.  
  434. Now all 7 fields are marked and remembered by DESQview and the
  435. cursor is positioned at the beginning of the next field. So, end
  436. the Learn:
  437.  
  438. ~Step~ Display the Learn menu (Shift-DESQ) and select Finish
  439. Script.
  440.  
  441. Now, mark the remaining 17 rows of Sample Spreadsheet and end
  442. marking:
  443.  
  444. ~Step~ Press Alt-M 17 times to mark the remaining 17 rows.
  445.  
  446. ~Step~ Select DONE to end marking.
  447.  
  448. ~Subhead~ Rows and Columns: Transferring the blocks
  449.  
  450.  To transfer the information, open a 1-2-3 window. Then, set up
  451. columns A-G, type the appropriate information in rows 1-3, and
  452. prepare to start the transfer:
  453.  
  454. ~Step~ Open Lotus 1-2-3 Release 2 as window 2.
  455.  
  456. ~Step~ Type this six months in columns B-G of row 1 by typing Jan
  457. <Enter>, and so forth.  Type hypens in columns B-G of row 2 by
  458. typing "- - - - - --<Enter>. And, type the word "ASSETS" in cell
  459. A3 by typing ASSETS <Enter>.
  460.  
  461. ~Step~ Position the spreadsheet cursor at A4. Then, set column A
  462. to 20 wide by typing /Worksheet Column Set-Width 20 <Enter> and
  463. indicate you want numbers set to 1 decimal place by typing /
  464. Worksheet Global Format Fixed 1 <Enter>.
  465.  
  466. ~Step~ Display the Transfer menu.
  467.  
  468. Now you must indicate that you want to insert text before the
  469. first field ~dash~ in this case, a quotation mark to guarantee
  470. that the label is transferred to 1-2-3 as text, even if it starts
  471. with a number:
  472.  
  473. ~Step~ Select "Type keys to begin each line." 
  474.  
  475.  
  476. ~Step~ Type a double quote mark ("). 
  477.  
  478. ~Step~ Tap the DESQ key to indicate that you've entered all the
  479. text you want to insert before the transferred field.
  480.  
  481. " appears on the 1-2-3 data entry line. Now, transfer the text
  482. label field:
  483.  
  484. ~Step~ Select "Transfer the next line." 
  485.  
  486. DESQview will ask which characters to insert between lines
  487.  
  488. ~Step~ Press right arrow to indicate you want to move the cursor
  489. one cell to the right after the label is transferred. (This
  490. transfers "Accts Receivable" and moves the cursor to B4.) 
  491.  
  492. ~Step~ Tap the DESQ key to complete the keystroke insertion
  493. command for the first transfer. 
  494.  
  495. This redisplays the Transfer menu.  Next, Transfer the 6 numeric
  496. fields:
  497.  
  498. ~Step~ Select "Transfer the next number." 
  499.  
  500. This tells DESQview that the next block is a number and it should
  501. not transfer the dollar signs or commas from the text file
  502. (Sample Spreadsheet is really a text file), even though they were
  503. included in the mark operation.  DESQview will filter these
  504. characters before the number is placed in the spreadsheet cell. 
  505. When DESQview transfers a number with this command, any
  506. nonnumeric characters except periods and minus signs are removed
  507. and a leading left parentheses is converted to a minus sign.
  508.  
  509. You will see 1000.0 on the 1-2-3 data entry line:
  510.  
  511. ~Step~ Press right arrow to place the number in the cell, This
  512. transfers "$1,000.0" as a number ~dash~ namely as "1000.0" ~dash~ 
  513. into cell B4. 
  514.  
  515. ~Step~ Tap the DESQ key to complete the keystroke insertion. 
  516.  
  517. ~Step~ Repeat the last two steps four more times to transfer the
  518. information for Feb-May.
  519.  
  520. For the June column, you'll want to  move the cursor to the
  521. beginning of the next row after the transfer, to start the next
  522. row ("Cash.") You'll tell DESQview to do this by entering all the
  523. keystrokes needed to navigate to cell A5 after the June column
  524. has been transferred:
  525.  
  526. ~Step~ To transfer the "Jun" value, select "Transfer the next
  527. number." 
  528.  
  529. ~Step~ Press the down arrow once, press the left arrow six times,
  530. (This places the number, "1276.2", into cell G4 and moves the
  531. cursor to A5.)
  532.  
  533. ~Step~ Tap the DESQ key to complete the keystroke insertion
  534. sequence. 
  535.  
  536. Note that you specified seven keystrokes to be executed when
  537. transferring the cells in last column. Finally, to transfer all
  538. the remaining 17 lines you marked:
  539.  
  540. ~Step~ Select "Transfer the rest of your data."
  541.  
  542. The transfer program has memorized the pattern of keystrokes
  543. before and keystrokes after each transferred insertion relative
  544. to the sequence you have just performed. Each"first-in-the-row"
  545. cell will be inserted as a text label, followed by six numeric
  546. insertions and keystrokes to navigate to the beginning of the
  547. next spreadsheet row. The result is the following 1-2-3
  548. spreadsheet:
  549.  
  550. ~Heading~ Additional Mark and Transfer Features
  551.  
  552.  In addition to the features already discussed in this chapter
  553. (and on pages 58-59), there are two other Mark and Transfer
  554. featrues:
  555.  
  556. ~Item~ There's a shortcut for marking and transferring a block of
  557. numbers.
  558.  
  559. ~Item~ Information in several snapshots can be combined and then
  560. transferred in a single step ~dash~ using the Mark More command.
  561.  
  562. ~Subhead~ Transferring a Block of Numbers
  563.  
  564.  Normally, there's a one-to-one correspondence between the number
  565. of blocks you mark and the number of transfer commands needed to
  566. transfer the blocks.  If you mark 10 blocks, you issue 10
  567. transfer commands.
  568.  
  569. However, DESQview has a shortcut for marking and transferring
  570. numbers.  You can mark an entire row or rectangular block of
  571. numbers (for example, 20 rows of 10 columns) and then transfer
  572. each number in the block separately.  When you select Transfer
  573. the first number, the first number in the first block is
  574. transferred.  Then, each time you select Transfer the next
  575. number, the next number in the same block is transferred ~dash~
  576. or, the next number in the next block is there are no more
  577. numbers in the current block.
  578.  
  579. To use this shortcut, the block of numbers you mark must not
  580. contain any blank entries or blank lines. Also, numbers are
  581. edited to remove all nonnumeric characters except periods and
  582. minus signs, and to convert a left paretheses to a minus sign.
  583.  
  584.  You can often substitute this shortcut for the procedure given
  585. in Transferring Rows and Columns ~dash~ although not in that
  586. particular example, because Sample Spreadsheet contains blank
  587. lines.
  588.  
  589. For example, if you have a table in DESQview Notepad that
  590. consists of 20 rows of 10 columns of numbers (without entries or
  591. blank lines), to transfer this table into 1-2-3 in the same
  592. (20x10) format:
  593.  
  594. ~Step~ Transfer the first number with the "Transfer the first
  595. number" command ~dash~ followed by a "right arrow" (to move the
  596. cursor to the next column).
  597.  
  598. ~Step~ Transfer the next 8 numbers with the "Transfer the next
  599. number" command ~dash~ following each number by a "right arrow."
  600.  
  601. ~Step~ Transfer the 10th number with the "Transfer the next
  602. number" command ~dash~ followed by 9 "left arrows" and a "down
  603. arrow" (to move the spreadsheet cursor to the beginning of the
  604. next row).
  605.  
  606. ~Step~ Transfer the remaining 19 rows with the "Transfer the rest
  607. of your data" command.
  608.  
  609.  If the table has labels, mark three blocks:  top labels, left
  610. labels, and the block of numbers. First, transfer the two sets of
  611. labels using the Transfer the first line command.  Then, transfer
  612. the block of numbers using the steps given above.
  613.  
  614. ~Subhead~ Combining Blocks of Information Using the Mark More
  615. Command
  616.  
  617.  Normally, all the information you mark must be entirely
  618. contained in the current snapshot.  The Mark More command lets
  619. you overcome this limitation and mark information contained in
  620. several snapshots:
  621.  
  622. ~Item~ When the first command you issue after you display the
  623. Mark menu is Mark Begin, DESQview discards anything you
  624. previously marked and starts over with an empty "mark buffer."
  625.  
  626. ~Item~ When the first command you issue after you display the
  627. Mark menu is Mark More, DESQview appends whatever you mark to the
  628. "mark buffer".
  629.  
  630.  Thus, by using Mark Begin on the first snapshot and Mark More on
  631. subsequent snapshots, you can mark information in multiple
  632. snapshots. See the example , Building a Mark and Transfer Super-
  633. script below.
  634.  
  635.  The amount of information you can mark is limited by the amount
  636. of "common" memory that's currently available (see Appendix A).
  637. "Common" memory is the area of memory DESQview needs to manage
  638. window and save the information you mark. If you intend to mark
  639. more than a single full (25x80) screen's worth of information,
  640. you should increase the size of the Common Memory buffer before
  641. you start up DESQview ~dash~ by 2K per additional screenful.
  642.  
  643. Except as the first command, Mark More and Mark Begin are
  644. equivalent.
  645.  
  646. ~Subhead~ Building a Mark and Transfer Super-Script
  647.  
  648.  The Transferring Rows and Columns section of this chapter
  649. explains how to transfer a table from a word processing program
  650. (Sample Spreadsheet) to a spreadsheet program (1-2-3 Release 2).
  651. It's limited, however, to transferring a table that fits entirely
  652. in one snapshot.
  653.  
  654. You can extend this procedure so that it marks a table that
  655. extends over multiple snapshots, and then transfers this table in
  656. a single step. Using DESQview's embedded learn capability, you
  657. can even build a script that performs this entire process with a
  658. single keystroke.
  659.  
  660. For example, let's assume that Sample Spreadsheet, which is 18-
  661. lines by 7-columns (excluding the heading), is just the beginning
  662. of a 200-line table that's been loaded into DESQview Notepad.
  663. And, let's also assume that you download this table every day
  664. (with different numbers) and thus want to be able to transfer it
  665. into 1-2-3 with a single keystroke.
  666.  
  667. ~Step~ With Notepad as the current window, and the cursor at the
  668. beginning of the "ASSETS" line, start learning a script ~dash~
  669. call it Move Table.
  670.  
  671. ~Step~ Then, immediately embed another learn ~dash~ call it Init
  672. Table ~dash~ that marks the word "ASSETS" (using Mark Begin),
  673. moves the cursor down to the beginning of the "Accts Receivable"
  674. line, then terminate the learn by performing the Finish Script
  675. command.
  676.  
  677.  The trick to creating a script that works across multiple
  678. snapshots is, first, to create an initialization script that
  679. clears the "mark buffer" using Mark begin and, then, to mark the
  680. information using only Mark More.
  681.  
  682. ~Step~ Now immediately start another script ~dash~ call it Mark
  683. Page ~dash~ and then follow the steps on page 103, Rows and
  684. Column:  Defining the Blocks, to mark the 18 lines of information
  685. visible ~dash~ but using Mark More instead of Mark Begin.
  686.  
  687.  When you select DONE on the Mark menu, Notepad resumes running. 
  688. So:
  689.  
  690. ~Step~ Press PgDn (or whatever) to display the next screen's
  691. worth of the table and align the cursor so it's at the beginning
  692. of the next unmarked row ~dash~ initially, the 19th row, just
  693. below "NET INCOME."
  694.  
  695. ~Step~ Use the Time Delay command to insert a one-second delay in
  696. the script.
  697.  
  698.  Inserting a time delay ensures that, when you play back the
  699. script, Notepad will have time to completely display the page on
  700. the screen before the script continues.
  701.  
  702. ~Step~ End the Mark Page script.
  703.  
  704. ~Step~ Play back Mark Page repeatedly until all 200 lines have
  705. been marked.
  706.  
  707.  To be sure the last iteration works correctly, you should add 18
  708. extra lines (of 80 spaces each) to the end of the table before
  709. you start this procedure.
  710.  
  711. ~Step~ Switch to 1-2-3, set up the heading information (see pages
  712. 103-106), set the cursor to A3, and transfer "ASSETS".
  713.  
  714. ~Step~ Display the Transfer menu and follow the steps on page 100
  715. to transfer all of the 200 lines you marked into 1-2-3 at one
  716. time.
  717.  
  718. ~Step~ End the script Move Table.
  719.  
  720.  Now, to transfer another instance of a 200-line table into 1-2-3
  721. with a single keystroke:
  722.  
  723. ~Step~ Load the table into DESQview Notepad, put the cursor at
  724. the beginning of the "ASSETS" line, and play back the Move Table
  725. script by pressing the key you assigned it to.
  726.  
  727.  If you're using DESQview Notepad (or if your word processor can
  728. write a column to a text file), a more efficient method is to
  729. create a script that writes the 200 labels to one file, the
  730. (200x7) block of numbers to another file, and then switches to 1-
  731. 2-3 and uses Import Text to read in the labels and Import Numbers
  732. to read in the numbers.  (Use the file names DESQTMP1 and
  733. DESQTMP2 to avoid file-naming problems ~dash~ see Appendix E.)
  734.  
  735.  This procedure uses doubly nested embedded learns: Move Table
  736. (TM) Init Table (TM) Mark Page. Mark Page and Init Table are
  737. actually relearned every time you play back Move Table. However,
  738. you'll hardly notice it, because it happens so fast.
  739.  
  740. ~Heading~ Scissors
  741.  
  742. The Scissors command allows you to perform mark and transfer
  743. operations using Copy, Cut, and Paste instead of Mark and
  744. Transfer. Scissors differs from Mark and Transfer in that:
  745.  
  746. ~Item~ Both the program that you mark the information in and the
  747. program that you transfer the information to must have been
  748. written expressly for DESQview using a DESQview API, and, also,
  749. must explicitly support the Scissors command
  750.  
  751. ~Begin footnote~
  752.  
  753. A program supports the Scissors command only if an X appears on
  754. the Scissors line when you display the DESQview menu while the
  755. program is running.  Programs written expressly for DESQview by
  756. Quarterdeck ~dash~ such as Add a Program, Change a Program,
  757. DESQview Companions, and so forth ~dash~ do not support the
  758. Scissors command.
  759.  
  760. ~End footnote~
  761.  
  762. ~Item~ You can only mark a single block of information in a
  763. single snapshot.
  764.  
  765. ~Item~ The information you mark can be manipulated by the program
  766. running in the window before it's saved. For example, if you
  767. marked cells in a spreadsheet, the program could copy the
  768. underlying formulas rather than the contents of the cells ~dash~
  769. if it wanted to. Similarly, the program determines how
  770. information is deleted when you use the Cut command.
  771.  
  772. ~Item~ The Paste operation is performed entirely by the program.
  773. It can type in the information, as Transfer does, or perform
  774. whatever other type of transfer it desires. For example, if you
  775. transfer formulas from another spreadsheet program, it could
  776. convert them into its own formula format.
  777.  
  778. To use Scissors:
  779.  
  780. ~Step~ Display the DESQview menu and select Scissors to display
  781. the Scissors menu.
  782.  
  783. ~Step~ Select the Copy or Cut command to display the Copy or Cut
  784. menu and cause the mouse cursor ~dash~ a diamond ~dash~ to appear
  785. in the current window.
  786.  
  787. Then, proceed in the same manner as for the Mark command:
  788.  
  789. ~Step~ Move the mouse cursor to the first character of the text
  790. you want to copy or cut and select Mark Begin. Then move the
  791. cursor until the reverse video box encloses the last character of
  792. the block you want, and select Mark End.
  793.  
  794. Then, to paste the marked block of information:
  795.  
  796. ~Step~ Switch to the program where you want to paste the block,
  797. display the DESQview menu, select Scissors to display the
  798. Scissors menu, and then select Paste to display the Paste menu
  799. and the block of text you marked.
  800.  
  801. ~Step~ Move the block of text around until it's positioned at the
  802. point where you want it to be pasted. Then, select DONE.
  803.  
  804. Remember, it's up to the program how it performs the paste
  805. operation. 
  806.